package com.shelpe.services.algorithm.entity.batis;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class KeywordExample {
    protected String orderByClause;
    protected Long userId;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public KeywordExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        userId = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }
           // criterion
        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("adgroup_id =", value, "adgroupId");
            return (Criteria) this;
        }
        
        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andKeywordIdIsNull() {
            addCriterion("keyword_id is null");
            return (Criteria) this;
        }

        public Criteria andKeywordIdIsNotNull() {
            addCriterion("keyword_id is not null");
            return (Criteria) this;
        }

        public Criteria andKeywordIdEqualTo(Long value) {
            addCriterion("keyword_id =", value, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdNotEqualTo(Long value) {
            addCriterion("keyword_id <>", value, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdGreaterThan(Long value) {
            addCriterion("keyword_id >", value, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdGreaterThanOrEqualTo(Long value) {
            addCriterion("keyword_id >=", value, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdLessThan(Long value) {
            addCriterion("keyword_id <", value, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdLessThanOrEqualTo(Long value) {
            addCriterion("keyword_id <=", value, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdIn(List<Long> values) {
            addCriterion("keyword_id in", values, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdNotIn(List<Long> values) {
            addCriterion("keyword_id not in", values, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdBetween(Long value1, Long value2) {
            addCriterion("keyword_id between", value1, value2, "keywordId");
            return (Criteria) this;
        }

        public Criteria andKeywordIdNotBetween(Long value1, Long value2) {
            addCriterion("keyword_id not between", value1, value2, "keywordId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdIsNull() {
            addCriterion("campaign_id is null");
            return (Criteria) this;
        }

        public Criteria andCampaignIdIsNotNull() {
            addCriterion("campaign_id is not null");
            return (Criteria) this;
        }

        public Criteria andCampaignIdEqualTo(Long value) {
            addCriterion("campaign_id =", value, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdNotEqualTo(Long value) {
            addCriterion("campaign_id <>", value, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdGreaterThan(Long value) {
            addCriterion("campaign_id >", value, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdGreaterThanOrEqualTo(Long value) {
            addCriterion("campaign_id >=", value, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdLessThan(Long value) {
            addCriterion("campaign_id <", value, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdLessThanOrEqualTo(Long value) {
            addCriterion("campaign_id <=", value, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdIn(List<Long> values) {
            addCriterion("campaign_id in", values, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdNotIn(List<Long> values) {
            addCriterion("campaign_id not in", values, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdBetween(Long value1, Long value2) {
            addCriterion("campaign_id between", value1, value2, "campaignId");
            return (Criteria) this;
        }

        public Criteria andCampaignIdNotBetween(Long value1, Long value2) {
            addCriterion("campaign_id not between", value1, value2, "campaignId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdIsNull() {
            addCriterion("adgroup_id is null");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdIsNotNull() {
            addCriterion("adgroup_id is not null");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdEqualTo(Long value) {
            addCriterion("adgroup_id =", value, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdNotEqualTo(Long value) {
            addCriterion("adgroup_id <>", value, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdGreaterThan(Long value) {
            addCriterion("adgroup_id >", value, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdGreaterThanOrEqualTo(Long value) {
            addCriterion("adgroup_id >=", value, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdLessThan(Long value) {
            addCriterion("adgroup_id <", value, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdLessThanOrEqualTo(Long value) {
            addCriterion("adgroup_id <=", value, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdIn(List<Long> values) {
            addCriterion("adgroup_id in", values, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdNotIn(List<Long> values) {
            addCriterion("adgroup_id not in", values, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdBetween(Long value1, Long value2) {
            addCriterion("adgroup_id between", value1, value2, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andAdgroupIdNotBetween(Long value1, Long value2) {
            addCriterion("adgroup_id not between", value1, value2, "adgroupId");
            return (Criteria) this;
        }

        public Criteria andQscoreIsNull() {
            addCriterion("qscore is null");
            return (Criteria) this;
        }

        public Criteria andQscoreIsNotNull() {
            addCriterion("qscore is not null");
            return (Criteria) this;
        }

        public Criteria andQscoreEqualTo(Integer value) {
            addCriterion("qscore =", value, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreNotEqualTo(Integer value) {
            addCriterion("qscore <>", value, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreGreaterThan(Integer value) {
            addCriterion("qscore >", value, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("qscore >=", value, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreLessThan(Integer value) {
            addCriterion("qscore <", value, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreLessThanOrEqualTo(Integer value) {
            addCriterion("qscore <=", value, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreIn(List<Integer> values) {
            addCriterion("qscore in", values, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreNotIn(List<Integer> values) {
            addCriterion("qscore not in", values, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreBetween(Integer value1, Integer value2) {
            addCriterion("qscore between", value1, value2, "qscore");
            return (Criteria) this;
        }

        public Criteria andQscoreNotBetween(Integer value1, Integer value2) {
            addCriterion("qscore not between", value1, value2, "qscore");
            return (Criteria) this;
        }

        public Criteria andMatchscopeIsNull() {
            addCriterion("matchscope is null");
            return (Criteria) this;
        }

        public Criteria andMatchscopeIsNotNull() {
            addCriterion("matchscope is not null");
            return (Criteria) this;
        }

        public Criteria andMatchscopeEqualTo(Integer value) {
            addCriterion("matchscope =", value, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeNotEqualTo(Integer value) {
            addCriterion("matchscope <>", value, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeGreaterThan(Integer value) {
            addCriterion("matchscope >", value, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeGreaterThanOrEqualTo(Integer value) {
            addCriterion("matchscope >=", value, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeLessThan(Integer value) {
            addCriterion("matchscope <", value, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeLessThanOrEqualTo(Integer value) {
            addCriterion("matchscope <=", value, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeIn(List<Integer> values) {
            addCriterion("matchscope in", values, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeNotIn(List<Integer> values) {
            addCriterion("matchscope not in", values, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeBetween(Integer value1, Integer value2) {
            addCriterion("matchscope between", value1, value2, "matchscope");
            return (Criteria) this;
        }

        public Criteria andMatchscopeNotBetween(Integer value1, Integer value2) {
            addCriterion("matchscope not between", value1, value2, "matchscope");
            return (Criteria) this;
        }

        public Criteria andNickIsNull() {
            addCriterion("nick is null");
            return (Criteria) this;
        }

        public Criteria andNickIsNotNull() {
            addCriterion("nick is not null");
            return (Criteria) this;
        }

        public Criteria andNickEqualTo(String value) {
            addCriterion("nick =", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickNotEqualTo(String value) {
            addCriterion("nick <>", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickGreaterThan(String value) {
            addCriterion("nick >", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickGreaterThanOrEqualTo(String value) {
            addCriterion("nick >=", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickLessThan(String value) {
            addCriterion("nick <", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickLessThanOrEqualTo(String value) {
            addCriterion("nick <=", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickLike(String value) {
            addCriterion("nick like", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickNotLike(String value) {
            addCriterion("nick not like", value, "nick");
            return (Criteria) this;
        }

        public Criteria andNickIn(List<String> values) {
            addCriterion("nick in", values, "nick");
            return (Criteria) this;
        }

        public Criteria andNickNotIn(List<String> values) {
            addCriterion("nick not in", values, "nick");
            return (Criteria) this;
        }

        public Criteria andNickBetween(String value1, String value2) {
            addCriterion("nick between", value1, value2, "nick");
            return (Criteria) this;
        }

        public Criteria andNickNotBetween(String value1, String value2) {
            addCriterion("nick not between", value1, value2, "nick");
            return (Criteria) this;
        }

        public Criteria andWordIsNull() {
            addCriterion("word is null");
            return (Criteria) this;
        }

        public Criteria andWordIsNotNull() {
            addCriterion("word is not null");
            return (Criteria) this;
        }

        public Criteria andWordEqualTo(String value) {
            addCriterion("word =", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordNotEqualTo(String value) {
            addCriterion("word <>", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordGreaterThan(String value) {
            addCriterion("word >", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordGreaterThanOrEqualTo(String value) {
            addCriterion("word >=", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordLessThan(String value) {
            addCriterion("word <", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordLessThanOrEqualTo(String value) {
            addCriterion("word <=", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordLike(String value) {
            addCriterion("word like", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordNotLike(String value) {
            addCriterion("word not like", value, "word");
            return (Criteria) this;
        }

        public Criteria andWordIn(List<String> values) {
            addCriterion("word in", values, "word");
            return (Criteria) this;
        }

        public Criteria andWordNotIn(List<String> values) {
            addCriterion("word not in", values, "word");
            return (Criteria) this;
        }

        public Criteria andWordBetween(String value1, String value2) {
            addCriterion("word between", value1, value2, "word");
            return (Criteria) this;
        }

        public Criteria andWordNotBetween(String value1, String value2) {
            addCriterion("word not between", value1, value2, "word");
            return (Criteria) this;
        }

        public Criteria andMaxPriceIsNull() {
            addCriterion("max_price is null");
            return (Criteria) this;
        }

        public Criteria andMaxPriceIsNotNull() {
            addCriterion("max_price is not null");
            return (Criteria) this;
        }

        public Criteria andMaxPriceEqualTo(Integer value) {
            addCriterion("max_price =", value, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceNotEqualTo(Integer value) {
            addCriterion("max_price <>", value, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceGreaterThan(Integer value) {
            addCriterion("max_price >", value, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("max_price >=", value, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceLessThan(Integer value) {
            addCriterion("max_price <", value, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceLessThanOrEqualTo(Integer value) {
            addCriterion("max_price <=", value, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceIn(List<Integer> values) {
            addCriterion("max_price in", values, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceNotIn(List<Integer> values) {
            addCriterion("max_price not in", values, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceBetween(Integer value1, Integer value2) {
            addCriterion("max_price between", value1, value2, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("max_price not between", value1, value2, "maxPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceIsNull() {
            addCriterion("is_default_price is null");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceIsNotNull() {
            addCriterion("is_default_price is not null");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceEqualTo(Boolean value) {
            addCriterion("is_default_price =", value, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceNotEqualTo(Boolean value) {
            addCriterion("is_default_price <>", value, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceGreaterThan(Boolean value) {
            addCriterion("is_default_price >", value, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_default_price >=", value, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceLessThan(Boolean value) {
            addCriterion("is_default_price <", value, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceLessThanOrEqualTo(Boolean value) {
            addCriterion("is_default_price <=", value, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceIn(List<Boolean> values) {
            addCriterion("is_default_price in", values, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceNotIn(List<Boolean> values) {
            addCriterion("is_default_price not in", values, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceBetween(Boolean value1, Boolean value2) {
            addCriterion("is_default_price between", value1, value2, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andIsDefaultPriceNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_default_price not between", value1, value2, "isDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andAuditStatusIsNull() {
            addCriterion("audit_status is null");
            return (Criteria) this;
        }

        public Criteria andAuditStatusIsNotNull() {
            addCriterion("audit_status is not null");
            return (Criteria) this;
        }

        public Criteria andAuditStatusEqualTo(String value) {
            addCriterion("audit_status =", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusNotEqualTo(String value) {
            addCriterion("audit_status <>", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusGreaterThan(String value) {
            addCriterion("audit_status >", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusGreaterThanOrEqualTo(String value) {
            addCriterion("audit_status >=", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusLessThan(String value) {
            addCriterion("audit_status <", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusLessThanOrEqualTo(String value) {
            addCriterion("audit_status <=", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusLike(String value) {
            addCriterion("audit_status like", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusNotLike(String value) {
            addCriterion("audit_status not like", value, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusIn(List<String> values) {
            addCriterion("audit_status in", values, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusNotIn(List<String> values) {
            addCriterion("audit_status not in", values, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusBetween(String value1, String value2) {
            addCriterion("audit_status between", value1, value2, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditStatusNotBetween(String value1, String value2) {
            addCriterion("audit_status not between", value1, value2, "auditStatus");
            return (Criteria) this;
        }

        public Criteria andAuditDescIsNull() {
            addCriterion("audit_desc is null");
            return (Criteria) this;
        }

        public Criteria andAuditDescIsNotNull() {
            addCriterion("audit_desc is not null");
            return (Criteria) this;
        }

        public Criteria andAuditDescEqualTo(String value) {
            addCriterion("audit_desc =", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescNotEqualTo(String value) {
            addCriterion("audit_desc <>", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescGreaterThan(String value) {
            addCriterion("audit_desc >", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescGreaterThanOrEqualTo(String value) {
            addCriterion("audit_desc >=", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescLessThan(String value) {
            addCriterion("audit_desc <", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescLessThanOrEqualTo(String value) {
            addCriterion("audit_desc <=", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescLike(String value) {
            addCriterion("audit_desc like", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescNotLike(String value) {
            addCriterion("audit_desc not like", value, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescIn(List<String> values) {
            addCriterion("audit_desc in", values, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescNotIn(List<String> values) {
            addCriterion("audit_desc not in", values, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescBetween(String value1, String value2) {
            addCriterion("audit_desc between", value1, value2, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andAuditDescNotBetween(String value1, String value2) {
            addCriterion("audit_desc not between", value1, value2, "auditDesc");
            return (Criteria) this;
        }

        public Criteria andIsGarbageIsNull() {
            addCriterion("is_garbage is null");
            return (Criteria) this;
        }

        public Criteria andIsGarbageIsNotNull() {
            addCriterion("is_garbage is not null");
            return (Criteria) this;
        }

        public Criteria andIsGarbageEqualTo(Boolean value) {
            addCriterion("is_garbage =", value, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageNotEqualTo(Boolean value) {
            addCriterion("is_garbage <>", value, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageGreaterThan(Boolean value) {
            addCriterion("is_garbage >", value, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_garbage >=", value, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageLessThan(Boolean value) {
            addCriterion("is_garbage <", value, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageLessThanOrEqualTo(Boolean value) {
            addCriterion("is_garbage <=", value, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageIn(List<Boolean> values) {
            addCriterion("is_garbage in", values, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageNotIn(List<Boolean> values) {
            addCriterion("is_garbage not in", values, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageBetween(Boolean value1, Boolean value2) {
            addCriterion("is_garbage between", value1, value2, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andIsGarbageNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_garbage not between", value1, value2, "isGarbage");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeIsNull() {
            addCriterion("modified_time is null");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeIsNotNull() {
            addCriterion("modified_time is not null");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeEqualTo(Date value) {
            addCriterion("modified_time =", value, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeNotEqualTo(Date value) {
            addCriterion("modified_time <>", value, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeGreaterThan(Date value) {
            addCriterion("modified_time >", value, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("modified_time >=", value, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeLessThan(Date value) {
            addCriterion("modified_time <", value, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeLessThanOrEqualTo(Date value) {
            addCriterion("modified_time <=", value, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeIn(List<Date> values) {
            addCriterion("modified_time in", values, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeNotIn(List<Date> values) {
            addCriterion("modified_time not in", values, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeBetween(Date value1, Date value2) {
            addCriterion("modified_time between", value1, value2, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andModifiedTimeNotBetween(Date value1, Date value2) {
            addCriterion("modified_time not between", value1, value2, "modifiedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeIsNull() {
            addCriterion("updated_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeIsNotNull() {
            addCriterion("updated_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeEqualTo(Date value) {
            addCriterion("updated_time =", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeNotEqualTo(Date value) {
            addCriterion("updated_time <>", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeGreaterThan(Date value) {
            addCriterion("updated_time >", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updated_time >=", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeLessThan(Date value) {
            addCriterion("updated_time <", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeLessThanOrEqualTo(Date value) {
            addCriterion("updated_time <=", value, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeIn(List<Date> values) {
            addCriterion("updated_time in", values, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeNotIn(List<Date> values) {
            addCriterion("updated_time not in", values, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeBetween(Date value1, Date value2) {
            addCriterion("updated_time between", value1, value2, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andUpdatedTimeNotBetween(Date value1, Date value2) {
            addCriterion("updated_time not between", value1, value2, "updatedTime");
            return (Criteria) this;
        }

        public Criteria andOrderIsNull() {
            addCriterion("order is null");
            return (Criteria) this;
        }

        public Criteria andOrderIsNotNull() {
            addCriterion("order is not null");
            return (Criteria) this;
        }

        public Criteria andOrderEqualTo(Short value) {
            addCriterion("order =", value, "order");
            return (Criteria) this;
        }

        public Criteria andOrderNotEqualTo(Short value) {
            addCriterion("order <>", value, "order");
            return (Criteria) this;
        }

        public Criteria andOrderGreaterThan(Short value) {
            addCriterion("order >", value, "order");
            return (Criteria) this;
        }

        public Criteria andOrderGreaterThanOrEqualTo(Short value) {
            addCriterion("order >=", value, "order");
            return (Criteria) this;
        }

        public Criteria andOrderLessThan(Short value) {
            addCriterion("order <", value, "order");
            return (Criteria) this;
        }

        public Criteria andOrderLessThanOrEqualTo(Short value) {
            addCriterion("order <=", value, "order");
            return (Criteria) this;
        }

        public Criteria andOrderIn(List<Short> values) {
            addCriterion("order in", values, "order");
            return (Criteria) this;
        }

        public Criteria andOrderNotIn(List<Short> values) {
            addCriterion("order not in", values, "order");
            return (Criteria) this;
        }

        public Criteria andOrderBetween(Short value1, Short value2) {
            addCriterion("order between", value1, value2, "order");
            return (Criteria) this;
        }

        public Criteria andOrderNotBetween(Short value1, Short value2) {
            addCriterion("order not between", value1, value2, "order");
            return (Criteria) this;
        }

        public Criteria andRankScoreIsNull() {
            addCriterion("rank_score is null");
            return (Criteria) this;
        }

        public Criteria andRankScoreIsNotNull() {
            addCriterion("rank_score is not null");
            return (Criteria) this;
        }

        public Criteria andRankScoreEqualTo(Short value) {
            addCriterion("rank_score =", value, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreNotEqualTo(Short value) {
            addCriterion("rank_score <>", value, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreGreaterThan(Short value) {
            addCriterion("rank_score >", value, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreGreaterThanOrEqualTo(Short value) {
            addCriterion("rank_score >=", value, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreLessThan(Short value) {
            addCriterion("rank_score <", value, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreLessThanOrEqualTo(Short value) {
            addCriterion("rank_score <=", value, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreIn(List<Short> values) {
            addCriterion("rank_score in", values, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreNotIn(List<Short> values) {
            addCriterion("rank_score not in", values, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreBetween(Short value1, Short value2) {
            addCriterion("rank_score between", value1, value2, "rankScore");
            return (Criteria) this;
        }

        public Criteria andRankScoreNotBetween(Short value1, Short value2) {
            addCriterion("rank_score not between", value1, value2, "rankScore");
            return (Criteria) this;
        }

        public Criteria andSmartPriceIsNull() {
            addCriterion("smart_price is null");
            return (Criteria) this;
        }

        public Criteria andSmartPriceIsNotNull() {
            addCriterion("smart_price is not null");
            return (Criteria) this;
        }

        public Criteria andSmartPriceEqualTo(Boolean value) {
            addCriterion("smart_price =", value, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceNotEqualTo(Boolean value) {
            addCriterion("smart_price <>", value, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceGreaterThan(Boolean value) {
            addCriterion("smart_price >", value, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceGreaterThanOrEqualTo(Boolean value) {
            addCriterion("smart_price >=", value, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceLessThan(Boolean value) {
            addCriterion("smart_price <", value, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceLessThanOrEqualTo(Boolean value) {
            addCriterion("smart_price <=", value, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceIn(List<Boolean> values) {
            addCriterion("smart_price in", values, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceNotIn(List<Boolean> values) {
            addCriterion("smart_price not in", values, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceBetween(Boolean value1, Boolean value2) {
            addCriterion("smart_price between", value1, value2, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andSmartPriceNotBetween(Boolean value1, Boolean value2) {
            addCriterion("smart_price not between", value1, value2, "smartPrice");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreIsNull() {
            addCriterion("wireless_qscore is null");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreIsNotNull() {
            addCriterion("wireless_qscore is not null");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreEqualTo(Integer value) {
            addCriterion("wireless_qscore =", value, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreNotEqualTo(Integer value) {
            addCriterion("wireless_qscore <>", value, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreGreaterThan(Integer value) {
            addCriterion("wireless_qscore >", value, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("wireless_qscore >=", value, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreLessThan(Integer value) {
            addCriterion("wireless_qscore <", value, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreLessThanOrEqualTo(Integer value) {
            addCriterion("wireless_qscore <=", value, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreIn(List<Integer> values) {
            addCriterion("wireless_qscore in", values, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreNotIn(List<Integer> values) {
            addCriterion("wireless_qscore not in", values, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreBetween(Integer value1, Integer value2) {
            addCriterion("wireless_qscore between", value1, value2, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andWirelessQscoreNotBetween(Integer value1, Integer value2) {
            addCriterion("wireless_qscore not between", value1, value2, "wirelessQscore");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceIsNull() {
            addCriterion("max_mobile_price is null");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceIsNotNull() {
            addCriterion("max_mobile_price is not null");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceEqualTo(Integer value) {
            addCriterion("max_mobile_price =", value, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceNotEqualTo(Integer value) {
            addCriterion("max_mobile_price <>", value, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceGreaterThan(Integer value) {
            addCriterion("max_mobile_price >", value, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("max_mobile_price >=", value, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceLessThan(Integer value) {
            addCriterion("max_mobile_price <", value, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceLessThanOrEqualTo(Integer value) {
            addCriterion("max_mobile_price <=", value, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceIn(List<Integer> values) {
            addCriterion("max_mobile_price in", values, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceNotIn(List<Integer> values) {
            addCriterion("max_mobile_price not in", values, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceBetween(Integer value1, Integer value2) {
            addCriterion("max_mobile_price between", value1, value2, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMaxMobilePriceNotBetween(Integer value1, Integer value2) {
            addCriterion("max_mobile_price not between", value1, value2, "maxMobilePrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceIsNull() {
            addCriterion("mobile_is_default_price is null");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceIsNotNull() {
            addCriterion("mobile_is_default_price is not null");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceEqualTo(Integer value) {
            addCriterion("mobile_is_default_price =", value, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceNotEqualTo(Integer value) {
            addCriterion("mobile_is_default_price <>", value, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceGreaterThan(Integer value) {
            addCriterion("mobile_is_default_price >", value, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("mobile_is_default_price >=", value, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceLessThan(Integer value) {
            addCriterion("mobile_is_default_price <", value, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceLessThanOrEqualTo(Integer value) {
            addCriterion("mobile_is_default_price <=", value, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceIn(List<Integer> values) {
            addCriterion("mobile_is_default_price in", values, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceNotIn(List<Integer> values) {
            addCriterion("mobile_is_default_price not in", values, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceBetween(Integer value1, Integer value2) {
            addCriterion("mobile_is_default_price between", value1, value2, "mobileIsDefaultPrice");
            return (Criteria) this;
        }

        public Criteria andMobileIsDefaultPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("mobile_is_default_price not between", value1, value2, "mobileIsDefaultPrice");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}